// struttura per i singoli elementi della lista struct elemento { int inf; struct elemento *pun; } int main() { struct elemento *lista; // puntatore alla lista (al primo elemento) lista = creaLista(); // creazione della lista } struct elemento *creaLista() { struct elemento *p, *punt; int i, n; printf(“Indicare il numero di elementi“); scanf(“%d”, & n); //Se n vale 0, viene creata una lista vuota if(n==0) { p = NULL; // lista vuota return (p); //esce } // primo elemento della lista, chiedendo il suo valore da tastiera: // creazione primo elemento p = (struct elemento *) malloc(sizeof(struct elemento)); printf(“Inserire il primo elemento: “); scanf(“%d”, & p->inf); punt = p; // Elementi successivi for(i=2; i<=n; i++) { punt->pun = (struct elemento *)malloc(sizeof(struct elemento)); punt = punt->pun; printf(“Inserire il %d esimo elemento: “, i); scanf(“%d”, & punt->inf); } punt->pun = NULL; // terminatore di lista } return(p); //ritorna la lista }